<html id="design-preface"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:d="docbook">
<head>
  <title>Preface</title>
</head>

<body>
<?html2db class="preface"?>

<h1>Preface</h1>

<p>The Laszlo platform allows web engineers to build applications of unpredented
grace. Fully exploiting this potential requires, in addition to good software engineering skills, 
something of an artist's eye and a magician's ability to direct attention. Sometimes these skills are
 all resident in the same person. Oftentimes they are divided 
among members of a Laszlo development team, with software engineers responsible for good orderly code,
and graphic designers, information architects or user experience designers responsible for art and
magic.</p>
<p>
However your team is set up, this <i>Guide</i> is for those persons responsible for the aesthetic experience of the application you're building.

</p>

<h2>Audience and rationale for this book</h2>

<p>This book is written for graphic designers and user experience engineers who have 
at least some familiarity with basic Laszlo concepts. In order to get the most out of this
<i>Guide</i> you should be comfortable with the topics covered in <a href="../../laszlo-in-ten-minutes">Laszlo
in Ten Minutes</a>, and it would be better still if you worked through the <a href="../guide/tutorials">tutorials.</a>
</p>
<p> The topics in this <i>Guide</i> overlap those
covered in the <a href="../guide">Software Developer's Guide</a>, and indeed they share some chapters in common.</p>


<h3>Learn by Doing</h3>
<p>This <i>Guide</i> contains many "live" examples, that is, 
Laszlo Applications that are embedded in this page. You'll have more fun and get more out of this document if you "play with the code." To do so,
simply click on the "Edit" link at the bottom left corner of each example. This will cause a new window to pop up that is a self-contained
environment for modifying and executing Laszlo applications. Edit the sample code then click "update" and see the results displayed in the 
right-hand side of the window. To return the sample code to its inital state, click "Reset." </p>
<p>
If you would like to save a copy of the application for later use, click on the "Save As" button.
</p>




<h2>Typographic Conventions</h2>
<p>Code is displayed thus: <code>var a = f(2)</code>.  Longer sections of code and other verbatim information is displayed in a separate paragraph:</p>

<pre>
An example file
that spans several
lines
</pre>

<p>Example programs are shown thus:</p>
<example executable="false">&lt;canvas height="20"&gt;
  &lt;text&gt;Hello World!&lt;/text&gt;
&lt;/canvas&gt;</example>

<p>Some example programs are run within the page.  The running
application is shown first, followed by the application source code,
followed by an Edit button that allows you to try out the effect of
making changes to the application source code.</p>
<example>&lt;canvas height="20"&gt;
  &lt;text&gt;Hello World!&lt;/text&gt;
&lt;/canvas&gt;</example>

<todo>Material marked thus is only shown in the beta distributions of
the documentation, and must be eliminated before the product is
final.</todo>

<fixme>Material in <d:sgmltag>fixme</d:sgmltag> is only shown
internally, and should not be present in beta or final
distributions.</fixme>

<h2>Related documentation</h2>

  <!--preface>
    <title>Preface</title>
    <para>Please check the <ulink
    url="http://www.laszlosystems.com/developers/">Developer Zone</ulink>
    of the Laszlo web site for updates and forthcoming chapters.  Also see
    the <ulink url="../lzx-reference/">LZX Reference</ulink> for
    comprehensive API documentation for individual tags, classes, and
    references.</para>
  </preface-->
  

<p>In addition to this <em>User Interface Designer's Guide</em>, please see also</p>
<ul>
  <li>The <a href="../guide"><em>Software Developer's Guide to Laszlo Applications</em></a>, the comprehensive 
explanation of how to write and test Laszlo programs.</li>
<li><a href="../components"><em>Working with Laszlo Components</em></a> shows how the various Laszlo components (such as Window,
Button, Tabslider, etc) were put together.</li>
  <li>The <a href="${reference}"><em>LZX Reference
  Manual</em></a>. This online, hyperlinked, comprehensive reference
  for LZX contains entries for each LZX tag and API. Its format will
  be familiar to users of JavaDoc(tm) and similar systems. </li>
  
  
  <li>The <a href="${tutorials}">online tutorials</a> and sample
  applications at <a
  href="http://www.laszlosystems.com/demos">http://www.laszlosystems.com/demos</a>
  provide a hands-on instructional overview of the LZX language.</li>
</ul>

<h2>Suggested reading paths</h2>
<todo>
This section, ideally, may be replaced with an interactive (lzx) map.
</todo>

<p>The best way to use the <em>LZX Developer's Guide</em> depends on
your experience.</p>

<p><em>Experienced Object-Oriented programmers</em>: We suggest that
you start by reading Chapters 1, 2 and 4 of this Guide. If you have
never worked with JavaScript, you can learn the basics quickly at one
of the JavaScript tutorials at <a
href="http://www.w3schools.com/js/default.asp">W3Schools</a>, <a
href="http://www.wdvl.com/Authoring/JavaScript/Tutorial/">WVDL</a>, or
<a href="http://www.pageresource.com/jscript/">PageResource.com</a>. Then visit
the Laszlo Systems website and the Laszlo demo-hosting site <a
href="http://mylaszlo.com">MyLaszlo.com</a> and play around with the
tutorials and sample programs; as you read the sample code be sure to
look up appropriate entries in the <em>Reference Manual.</em> At that
point you'll know what further reading you need to do in this
guide.</p>
<p><em>Web/Flash developers with no Object-Oriented experience:</em>
We suggest that you start with the <a
href="${tutorials}">tutorials</a> in order to get a general feel for
LZX programming. Don't worry about mastering the subjects they cover;
your goal is to begin to get comfortable with the language.</p>

<p>If you need to, learn the basics of 
<a href="http://www.w3.org/XML/">XML</a>.</p>

<p>Then read the rest of <xref linkend="overview">Part
I of this guide</xref>.</p>

<todo>Work your way through a JavaScript tutorial
<todo>link</todo>. Caution: it makes sense to read the first four
chapters of this book before doing the JavaScript tutorial, because
LZX employs JavaScript in a way that is quite distinct from the way it
is used in web browsers.</todo>

<todo>Then read Chapters 4 through 12 of this manual, making sure that
you edit the sample programs.  After you've done that you'll be
an experienced Object Oriented programmer and able to decide for
yourself how best to proceed from there.</todo>

<h3>Use the Forums</h3>

<p>The best way to learn any programming language is to draw upon the
experience and goodwill of its development community (and to write
code! as the saying goes, nobody learned to ride a bicycle by reading
about it). The LZX developer community has a home at <a href="http://www.laszlosystems.com/developers/forums/">http://www.laszlosystems.com/developers/forums/</a>. There
you will find an active discussion of all aspects of the language, and
a place to ask questions of your own.</p>

</body>
</html>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
* Copyright 2001-2004 Laszlo Systems, Inc.  All Rights Reserved.              *
* Use is subject to license terms.                                            *
* X_LZ_COPYRIGHT_END ****************************************************** -->
